场景视点控制 Sample详情

最后更新时间:2019年6月17日

场景视点,即观察场景的位置点,不同的视点展现给用户的界面效果不同。可以通过用户手势交互操作来随意改变视点,也可以通过接口精确设置场景视点。

一、交互方式

通过手指在界面上滑动、缩放来改变场景视点,手势交互功能已经集成到场景视图控件SceneView中。

二、代码实现

从接口层面上来看,场景视点对应ViewPoint类,视点由四个参数控制,对应四个字段属性:

字段 说明
com.zondy.mapgis.core.geometry.Dot3D focalPoint 相机的焦点
double headingDeg 相机的航向角,单位为度,顺时针为正
double pitchDeg 相机的俯仰角,范围(-90 ~ -10)单位为度
double range 相机到相机焦点的距离

首先根据各项参数构造视点对象,然后利用jumptoViewPoint()方法跳转到制定的视点,并且伴随动画效果。此种模式便于从非常精确的视点查看场景,来达到手势交互难于控制的效果。也可以利用SceneView的getCurrentViewPoint()方法获取当前视点。

//视图跳转到模型所在地
Dot3D dot = new Dot3D(86.481666, 27.627293, 3.24);
//相机的焦点、相机的航向角、相机的俯仰角、相机到相机焦点的距离
Viewpoint point = new Viewpoint(dot, 19.72459976, -41.6339, 126331);
//要跳转到的视点、持续时间,单位秒
mSceneView.jumptoViewPoint(point, 2);

0401视点跳转.jpg